<?php
session_start();
require_once($_SESSION['COMUN']."/DataBase.php");
require_once($_SESSION['BOS']."/Usuario.php");
class UsuarioRetrive
{
	private $query;
	private $resultado;
	private $db;

	public function __set($var, $valor)
    {
        if(property_exists(UsuarioRetrive, $var))
        {
            $this->$var=$valor;
        }
    }

    public function __get($var)
    {
        if(property_exists(UsuarioRetrive, $var))
        {
            return $this->$var;
        }
    }

    public function action($usuario)
    {
    	$this->db=new DataBase();
    	$this->query=$this->armarQuery($usuario);
    	$this->resultado=$this->db->conectarse($this->query);
    	$listausuario=$this->dataToObject($this->resultado);
    	return $listausuario;
    }

    private function dataToObject($resultado)
    {
    	if(mysql_num_rows($resultado)>0)
    	{
    		while ($row=mysql_fetch_array($resultado))
    		{
    			$listaUsuario[$row["id"]]= new Usuario();
    			$listaUsuario[$row["id"]]->id=$row["id"];
    			$listaUsuario[$row["id"]]->nickName=$row["nickName"];
    			$listaUsuario[$row["id"]]->password=$row["password"];
    			$listausuario[$row["id"]]->estaus=$row["estatus"];
    		}
    	}
    	return $listausuario;
    }

    private function armarQuery($usuario)
    {
    	$query="SELECT * FROM usuarios" ;
    	$filtros="";
    	if($usuario->id!="")
    	{
    		$filtros.="id=".$usuario->id." AND";
    	}
    	if($usuario->nickName!="")
    	{
    		$filtros.=" nickName='".$usuario->nickName."' AND";
    	}
    	if($usuario->password!="")
    	{
    		$filtros.=" password='".$usuario->password."' AND";
    	}
    	if($usuario->estatus!="")
    	{
    		$filtros.=" estatus='".$usuario->estatus-"' AND";
    	}
    	$filtros= substr($filtros, 0, -3);
    	if($filtros!="")
    	{
    		$query.=" WHERE ".$filtros;
    	}
    	return $query;
    }
}